package de.idgard.android.addon.proxy.services;

import de.idgard.android.addon.services.ContextAware;
import de.idgard.android.addon.ui.services.TransparencyStateService;
import de.idgard.android.proxy.IDGardProxyServer;

/**
 * 
 * @author ckaratza
 * 
 */

public interface ProxyService extends ContextAware {

	int getRunningPort();
	
	int getLastRunningPort();

	boolean startProxyService();

	boolean startLocalProxy(String localhost, int boundLocalPort, String userName, String pwd);

	boolean stopServiceAndLocalProxy();

	boolean isLocalProxyON();

	boolean adjustProxySettingsBasedOnTransparency(
			TransparencyStateService.TransparencyState state);

	IDGardProxyServer getCommunicator();

	void setCommunicator(IDGardProxyServer communicator);

	void setCommunicatorsAuthenticationString(String authString);
	
	String getCommunicatorsAuthenticationString();
}
